package com.netposa.datawarehouse.aggregator.web.vo;

public class FeatureSearchParam {
   private String sessionKey;
   private Long startTime;
   private Long endTime;
   private String cameraId;
   private Integer distance = 80;
   private Integer excludeDistance = 80;
   private Integer count = 1000;
   private String feature;

   public String getSessionKey() {
      return this.sessionKey;
   }

   public Long getStartTime() {
      return this.startTime;
   }

   public Long getEndTime() {
      return this.endTime;
   }

   public String getCameraId() {
      return this.cameraId;
   }

   public Integer getDistance() {
      return this.distance;
   }

   public Integer getExcludeDistance() {
      return this.excludeDistance;
   }

   public Integer getCount() {
      return this.count;
   }

   public String getFeature() {
      return this.feature;
   }

   public void setSessionKey(String sessionKey) {
      this.sessionKey = sessionKey;
   }

   public void setStartTime(Long startTime) {
      this.startTime = startTime;
   }

   public void setEndTime(Long endTime) {
      this.endTime = endTime;
   }

   public void setCameraId(String cameraId) {
      this.cameraId = cameraId;
   }

   public void setDistance(Integer distance) {
      this.distance = distance;
   }

   public void setExcludeDistance(Integer excludeDistance) {
      this.excludeDistance = excludeDistance;
   }

   public void setCount(Integer count) {
      this.count = count;
   }

   public void setFeature(String feature) {
      this.feature = feature;
   }

   public boolean equals(Object o) {
      if (o == this) {
         return true;
      } else if (!(o instanceof FeatureSearchParam)) {
         return false;
      } else {
         FeatureSearchParam other = (FeatureSearchParam)o;
         if (!other.canEqual(this)) {
            return false;
         } else {
            label107: {
               Object this$sessionKey = this.getSessionKey();
               Object other$sessionKey = other.getSessionKey();
               if (this$sessionKey == null) {
                  if (other$sessionKey == null) {
                     break label107;
                  }
               } else if (this$sessionKey.equals(other$sessionKey)) {
                  break label107;
               }

               return false;
            }

            Object this$startTime = this.getStartTime();
            Object other$startTime = other.getStartTime();
            if (this$startTime == null) {
               if (other$startTime != null) {
                  return false;
               }
            } else if (!this$startTime.equals(other$startTime)) {
               return false;
            }

            Object this$endTime = this.getEndTime();
            Object other$endTime = other.getEndTime();
            if (this$endTime == null) {
               if (other$endTime != null) {
                  return false;
               }
            } else if (!this$endTime.equals(other$endTime)) {
               return false;
            }

            label86: {
               Object this$cameraId = this.getCameraId();
               Object other$cameraId = other.getCameraId();
               if (this$cameraId == null) {
                  if (other$cameraId == null) {
                     break label86;
                  }
               } else if (this$cameraId.equals(other$cameraId)) {
                  break label86;
               }

               return false;
            }

            label79: {
               Object this$distance = this.getDistance();
               Object other$distance = other.getDistance();
               if (this$distance == null) {
                  if (other$distance == null) {
                     break label79;
                  }
               } else if (this$distance.equals(other$distance)) {
                  break label79;
               }

               return false;
            }

            label72: {
               Object this$excludeDistance = this.getExcludeDistance();
               Object other$excludeDistance = other.getExcludeDistance();
               if (this$excludeDistance == null) {
                  if (other$excludeDistance == null) {
                     break label72;
                  }
               } else if (this$excludeDistance.equals(other$excludeDistance)) {
                  break label72;
               }

               return false;
            }

            Object this$count = this.getCount();
            Object other$count = other.getCount();
            if (this$count == null) {
               if (other$count != null) {
                  return false;
               }
            } else if (!this$count.equals(other$count)) {
               return false;
            }

            Object this$feature = this.getFeature();
            Object other$feature = other.getFeature();
            if (this$feature == null) {
               if (other$feature != null) {
                  return false;
               }
            } else if (!this$feature.equals(other$feature)) {
               return false;
            }

            return true;
         }
      }
   }

   protected boolean canEqual(Object other) {
      return other instanceof FeatureSearchParam;
   }

   public int hashCode() {
      
      int result = 1;
      Object $sessionKey = this.getSessionKey();
      result = result * 59 + ($sessionKey == null ? 43 : $sessionKey.hashCode());
      Object $startTime = this.getStartTime();
      result = result * 59 + ($startTime == null ? 43 : $startTime.hashCode());
      Object $endTime = this.getEndTime();
      result = result * 59 + ($endTime == null ? 43 : $endTime.hashCode());
      Object $cameraId = this.getCameraId();
      result = result * 59 + ($cameraId == null ? 43 : $cameraId.hashCode());
      Object $distance = this.getDistance();
      result = result * 59 + ($distance == null ? 43 : $distance.hashCode());
      Object $excludeDistance = this.getExcludeDistance();
      result = result * 59 + ($excludeDistance == null ? 43 : $excludeDistance.hashCode());
      Object $count = this.getCount();
      result = result * 59 + ($count == null ? 43 : $count.hashCode());
      Object $feature = this.getFeature();
      result = result * 59 + ($feature == null ? 43 : $feature.hashCode());
      return result;
   }

   public String toString() {
      return "FeatureSearchParam(sessionKey=" + this.getSessionKey() + ", startTime=" + this.getStartTime() + ", endTime=" + this.getEndTime() + ", cameraId=" + this.getCameraId() + ", distance=" + this.getDistance() + ", excludeDistance=" + this.getExcludeDistance() + ", count=" + this.getCount() + ", feature=" + this.getFeature() + ")";
   }
}
